import i18n from 'i18next';
import Backend from 'i18next-http-backend';
// import LanguageDetector from 'i18next-browser-languagedetector';
import { initReactI18next } from 'react-i18next';
if (i18n.isInitialized) {
	i18n
		// load translation using http -> see /public/locales
		// learn more: https://github.com/i18next/i18next-http-backend
		.use(Backend)
		// detect user language
		// learn more: https://github.com/i18next/i18next-browser-languageDetector
		// .use(LanguageDetector)
		// pass the i18n instance to react-i18next.
		.use(initReactI18next)
		// init i18next
		// for all options read: https://www.i18next.com/overview/configuration-options
		.init({
			fallbackLng: 'zh',
			debug: true,
			lng: 'zh', //預設語言
			interpolation: {
				escapeValue: false // not needed for react as it escapes by default
			},
			backend: {
				loadPath: function (lngs: Array<string>, namespaces: Array<string>) {
					const type = lngs[0] === 'zh' ? 'zh' : lngs[0] === 'en-US' ? 'en' : 'zh-TW';
					return `./locales/${type}/translation.json`;
				}
			}
		});
} else {
	i18n.options.backend = {
		loadPath: function (lngs: Array<string>, namespaces: Array<string>) {
			const type = lngs[0] === 'zh' ? 'zh' : lngs[0] === 'en-US' ? 'en' : 'zh-TW';
			return `./locales/${type}/translation.json`;
		}
	};
}

export default i18n;
